﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace dacli.modelos.dao
{
    public class PreciosExamenesDAO : EntidadDao
    {
        public PreciosExamenes preciosExamenes { get; set; }

        public PreciosExamenes asignarId(long id)
        {
            this.consultar("id=" + id);
            return this.preciosExamenes;
        }
        public PreciosExamenesDAO(PreciosExamenes preciosExamenes)
            : base("precios_examenes")
        {
            this.preciosExamenes = (PreciosExamenes)preciosExamenes.Clone();
        }
        public PreciosExamenesDAO()
            : base("precios_examenes")
        {
            
        }

        public  override long incluir()
        {
            string sql = "INSERT INTO " + this.tabla + " (precios_tipo_id, examenes_id, monto) values" +
                        "(" + preciosExamenes.preciosTipo.id + "," + preciosExamenes.examenes.id + "," + preciosExamenes.monto + ")";
            return conexion.ejecutar(sql);
        }

        public override long modificar()
        {
            string sql = "UPDATE " + this.tabla + " SET "
                        + "precios_tipo_id ='" + preciosExamenes.preciosTipo.id + "', "
                        + "examenes_id ='" + preciosExamenes.examenes.id + "', "
                        + "monto ='" + preciosExamenes.monto + "' "
                        + "WHERE id =" + preciosExamenes.id;
            return conexion.ejecutar(sql);            
        }

        public override long eliminar()
        {
            string sql = "DELETE FROM " + this.tabla + " WHERE "
                        + "id =" + preciosExamenes.id;
            return conexion.ejecutar(sql);            
        }

        public override bool consultar(string filtro)
        {
            string sql = "SELECT * FROM " + this.tabla + " WHERE "
            + filtro;
            SqlDataReader reader = conexion.consultar(sql);
            if (reader.Read()) {
                this.preciosExamenes = new PreciosExamenes();
                this.preciosExamenes.id = reader.GetInt32(0);
                this.preciosExamenes.preciosTipo = new PreciosTipoDAO().asignarId(reader.GetInt32(2));
                this.preciosExamenes.examenes = new ExamenesDAO().asignarId(reader.GetInt32(3));
                this.preciosExamenes.monto = reader.GetDouble(4);
                reader.Close();
                return true;
            }
            return false;
        }   

    }
}
